home *** CD-ROM | disk | FTP | other *** search
/ Inter.Net 55-1 / Inter.Net 55-1.iso / CBuilder / Setup / BCB / data.z / msviddrv.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-02-09  |  4.7 KB  |  125 lines

  1. /****************************************************************************/
  2. /*                                                                          */
  3. /*        MSVIDDRV.H - Include file for messages to video drivers           */
  4. /*                                                                          */
  5. /*        Note: You must include WINDOWS.H before including this file.      */
  6. /*                                                                          */
  7. /****************************************************************************/
  8.  
  9. /*
  10.  *      C/C++ Run Time Library - Version 9.0
  11.  *
  12.  *      Copyright (c) 1994, 1998 by Borland International
  13.  *      All Rights Reserved.
  14.  *
  15.  */
  16.  
  17. #ifndef _INC_MSVIDDRV
  18. #define _INC_MSVIDDRV   50      /* version number */
  19. #define __MSVIDDRV_H
  20. #pragma option push -b
  21.  
  22.  
  23. #ifdef __cplusplus
  24. extern "C" {            /* Assume C declarations for C++ */
  25. #endif  /* __cplusplus */
  26.  
  27. /****************************************************************************
  28.  
  29.          Digital Video Messages (DVM_)
  30.  
  31. ****************************************************************************/
  32.  
  33. // General messages
  34. #define DVM_START                         DRV_USER
  35. #define DVM_GETERRORTEXT                  (DVM_START + 0)
  36. #define DVM_GETVIDEOAPIVER                (DVM_START + 1)
  37.  
  38. // This value increments each time the API changes
  39. // It is passed to the driver in the DRV_OPEN message.
  40. #define VIDEOAPIVERSION                 3
  41.  
  42. // General messages applicable to all channel types
  43. #define DVM_DIALOG                      (DVM_START + 100)
  44. #define DVM_CONFIGURESTORAGE            (DVM_START + 101)
  45. #define DVM_GET_CHANNEL_CAPS            (DVM_START + 102)
  46. #define DVM_UPDATE                      (DVM_START + 103)
  47.  
  48. // Single frame msg
  49. #define DVM_FRAME                       (DVM_START + 200)
  50.  
  51. // stream messages
  52. #define DVM_STREAM_MSG_START            (DVM_START + 300)
  53. #define DVM_STREAM_MSG_END              (DVM_START + 399)
  54.  
  55. #define DVM_STREAM_ADDBUFFER            (DVM_START + 300)
  56. #define DVM_STREAM_FINI                 (DVM_START + 301)
  57. #define DVM_STREAM_GETERROR             (DVM_START + 302)
  58. #define DVM_STREAM_GETPOSITION          (DVM_START + 303)
  59. #define DVM_STREAM_INIT                 (DVM_START + 304)
  60. #define DVM_STREAM_PREPAREHEADER        (DVM_START + 305)
  61. #define DVM_STREAM_RESET                (DVM_START + 306)
  62. #define DVM_STREAM_START                (DVM_START + 307)
  63. #define DVM_STREAM_STOP                 (DVM_START + 308)
  64. #define DVM_STREAM_UNPREPAREHEADER      (DVM_START + 309)
  65.  
  66. // Following added post VFW1.1a
  67. #define DVM_STREAM_ALLOCHDRANDBUFFER    (DVM_START + 310)
  68. #define DVM_STREAM_FREEHDRANDBUFFER     (DVM_START + 311)
  69.  
  70. // NOTE that DVM_CONFIGURE numbers will start at 0x1000 (for configure API)
  71.  
  72.  
  73. /****************************************************************************
  74.  
  75.                 Open Definitions
  76.  
  77. ****************************************************************************/
  78. #define OPEN_TYPE_VCAP mmioFOURCC('v', 'c', 'a', 'p')
  79.  
  80. // The following structure is the same as IC_OPEN
  81. // to allow compressors and capture devices to share
  82. // the same DriverProc.
  83.  
  84. typedef struct tag_video_open_parms {
  85.     DWORD               dwSize;         // sizeof(VIDEO_OPEN_PARMS)
  86.     FOURCC              fccType;        // 'vcap'
  87.     FOURCC              fccComp;        // unused
  88.     DWORD               dwVersion;      // version of msvideo opening you
  89.     DWORD               dwFlags;        // channel type
  90.     DWORD               dwError;        // if open fails, this is why
  91. } VIDEO_OPEN_PARMS, FAR * LPVIDEO_OPEN_PARMS;
  92.  
  93. typedef struct tag_video_geterrortext_parms {
  94.        DWORD  dwError;          // The error number to identify
  95. #ifdef WIN32
  96.        LPWSTR lpText;           // Text buffer to fill
  97. #else
  98.        LPSTR lpText;            // Text buffer to fill
  99. #endif
  100.        DWORD  dwLength;         // Size of text buffer in characters
  101. } VIDEO_GETERRORTEXT_PARMS, FAR * LPVIDEO_GETERRORTEXT_PARMS;
  102.  
  103. typedef struct tag_video_stream_init_parms {
  104.        DWORD  dwMicroSecPerFrame;
  105.        DWORD  dwCallback;
  106.        DWORD  dwCallbackInst;
  107.        DWORD  dwFlags;
  108.        DWORD  hVideo;
  109. } VIDEO_STREAM_INIT_PARMS, FAR * LPVIDEO_STREAM_INIT_PARMS;
  110.  
  111. typedef struct tag_video_configure_parms {
  112.        LPDWORD  lpdwReturn;     // Return parameter from configure MSG.
  113.        LPVOID   lpData1;        // Pointer to data 1.
  114.        DWORD    dwSize1;        // size of data buffer 1.
  115.        LPVOID   lpData2;        // Pointer to data 2.
  116.        DWORD    dwSize2;        // size of data buffer 2.
  117. } VIDEOCONFIGPARMS, FAR * LPVIDEOCONFIGPARMS;
  118.  
  119. #ifdef __cplusplus
  120. }                       /* End of extern "C" { */
  121. #endif  /* __cplusplus */
  122.  
  123. #pragma option pop
  124. #endif  /* _INC_MSVIDDRV */
  125.